home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / PWAPG10.ZIP / 550.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1994-08-16  |  4KB  |  349 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Boolean  BOOLEAN001
  20.     String   STRING001
  21.     String   STRING002
  22.     String   STRING003
  23.     String   STRING004
  24.     String   STRING005
  25.     String   STRING006
  26.     String   STRING007
  27.     String   STRING008
  28.     String   STRING009
  29.     String   STRING010
  30.     String   STRING011
  31.     String   STRING012
  32.     String   STRING013
  33.     String   STRING014
  34.     String   STRING015
  35.     String   STRING016
  36.     Byte     BYTE001
  37.     Byte     BYTE002
  38.     Byte     BYTE003
  39.     Byte     BYTE004
  40.     Byte     BYTE005
  41.     Byte     BYTE006
  42.     Byte     BYTE007
  43.     Byte     BYTE008
  44.     Byte     BYTE009
  45.  
  46. ;------------------------------------------------------------------------------
  47.  
  48.     Gosub LABEL008
  49.     Gosub LABEL001
  50.     End
  51.     :LABEL001
  52.     Gosub LABEL004
  53.     BYTE009 = 7
  54.     Gosub LABEL006
  55.     BOOLEAN001 = 0
  56.     While (BOOLEAN001 == 0) Do
  57.         STRING016 = Asc(Inkey())
  58.         If (STRING016 == 13) Then
  59.             Gosub LABEL005
  60.             Continue
  61.         Endif
  62.         If ((STRING016 == 76) || (STRING016 == 44)) Then
  63.             Gosub LABEL007
  64.             Dec BYTE009
  65.             If (BYTE009 < 1) BYTE009 = 7
  66.             Gosub LABEL006
  67.             Continue
  68.         Endif
  69.         If ((STRING016 == 82) || (STRING016 == 46)) Then
  70.             Gosub LABEL007
  71.             Inc BYTE009
  72.             If (BYTE009 > 7) BYTE009 = 1
  73.             Gosub LABEL006
  74.             Continue
  75.         Endif
  76.         If ((STRING016 == 72) || (STRING016 == 104)) Then
  77.             Gosub LABEL007
  78.             BYTE009 = 1
  79.             Gosub LABEL003
  80.             Continue
  81.         Endif
  82.         If ((STRING016 == 71) || (STRING016 == 103)) Then
  83.             Gosub LABEL007
  84.             BYTE009 = 2
  85.             Gosub LABEL006
  86.             BOOLEAN001 = 1
  87.             Continue
  88.         Endif
  89.         If ((STRING016 == 69) || (STRING016 == 101)) Then
  90.             Gosub LABEL007
  91.             BYTE009 = 3
  92.             Gosub LABEL006
  93.             BOOLEAN001 = 1
  94.             Continue
  95.         Endif
  96.         If ((STRING016 == 65) || (STRING016 == 97)) Then
  97.             Gosub LABEL007
  98.             BYTE009 = 4
  99.             Gosub LABEL006
  100.             BOOLEAN001 = 1
  101.             Continue
  102.         Endif
  103.         If ((STRING016 == 76) || (STRING016 == 108)) Then
  104.             Gosub LABEL007
  105.             BYTE009 = 5
  106.             Gosub LABEL006
  107.             BOOLEAN001 = 1
  108.             Continue
  109.         Endif
  110.         If ((STRING016 == 80) || (STRING016 == 112)) Then
  111.             Gosub LABEL007
  112.             BYTE009 = 6
  113.             Gosub LABEL006
  114.             Delay 5
  115.             If (Exist(STRING015)) Then
  116.                 Call STRING015
  117.                 Gosub LABEL004
  118.                 Gosub LABEL006
  119.                 Goto LABEL002
  120.             Endif
  121.             BOOLEAN001 = 1
  122.             :LABEL002
  123.             Continue
  124.         Endif
  125.         If ((STRING016 == 67) || (STRING016 == 99)) Then
  126.             Gosub LABEL007
  127.             BYTE009 = 7
  128.             Gosub LABEL006
  129.             BOOLEAN001 = 1
  130.             Continue
  131.         Endif
  132.         If (STRING016 == 27) Then
  133.             Gosub LABEL007
  134.             BYTE009 = 4
  135.             Gosub LABEL006
  136.             BOOLEAN001 = 1
  137.         Endif
  138.     EndWhile
  139.     Gosub LABEL005
  140.     Return
  141.     :LABEL003
  142.     If (Exist(PPEPath() + "550HELP.PCB")) Then
  143.         DispFile PPEPath() + "550HELP.PCB", 0
  144.     Else
  145.         PrintLn "@X0CSorry, no help is available"
  146.     Endif
  147.     Gosub LABEL004
  148.     Gosub LABEL006
  149.     Return
  150.     :LABEL004
  151.     Print ReadLine(PPEPath() + "550.CFG", 1)
  152.     BYTE001 = GetY()
  153.     BYTE002 = GetX()
  154.     Print STRING001 + "  "
  155.     BYTE003 = GetX()
  156.     Print STRING002 + "  "
  157.     BYTE004 = GetX()
  158.     Print STRING003 + "  "
  159.     BYTE005 = GetX()
  160.     Print STRING004 + "  "
  161.     BYTE006 = GetX()
  162.     Print STRING005 + "  "
  163.     BYTE007 = GetX()
  164.     Print STRING006 + "  "
  165.     BYTE008 = GetX()
  166.     Print STRING007
  167.     Return
  168.     :LABEL005
  169.     Select Case (BYTE009)
  170.         Case 1
  171.             Gosub LABEL003
  172.         Case 2
  173.             Newline
  174.             KbdStuff "G"
  175.             End
  176.         Case 3
  177.             Newline
  178.             KbdStuff "E"
  179.             End
  180.         Case 4
  181.             Newline
  182.             KbdStuff "A"
  183.             End
  184.         Case 5
  185.             Newline
  186.             KbdStuff "L"
  187.             End
  188.         Case 6
  189.             If (Exist(STRING015)) Then
  190.                 Call STRING015
  191.                 Gosub LABEL004
  192.                 Gosub LABEL006
  193.             Else
  194.                 Newline
  195.                 KbdStuff "P"
  196.                 End
  197.             Endif
  198.         Case 7
  199.             Newline
  200.             KbdStuff Chr(13)
  201.             End
  202.     End Select
  203.     Return
  204.     :LABEL006
  205.     Select Case (BYTE009)
  206.         Case 1
  207.             Print Chr(13)
  208.             Forward BYTE002 - 1
  209.             Print STRING008
  210.         Case 2
  211.             Print Chr(13)
  212.             Forward BYTE003 - 1
  213.             Print STRING009
  214.         Case 3
  215.             Print Chr(13)
  216.             Forward BYTE004 - 1
  217.             Print STRING010
  218.         Case 4
  219.             Print Chr(13)
  220.             Forward BYTE005 - 1
  221.             Print STRING011
  222.         Case 5
  223.             Print Chr(13)
  224.             Forward BYTE006 - 1
  225.             Print STRING012
  226.         Case 6
  227.             Print Chr(13)
  228.             Forward BYTE007 - 1
  229.             Print STRING013
  230.         Case 7
  231.             Print Chr(13)
  232.             Forward BYTE008 - 1
  233.             Print STRING014
  234.     End Select
  235.     Return
  236.     :LABEL007
  237.     Select Case (BYTE009)
  238.         Case 1
  239.             Print Chr(13)
  240.             Forward BYTE002 - 1
  241.             Print STRING001
  242.         Case 2
  243.             Print Chr(13)
  244.             Forward BYTE003 - 1
  245.             Print STRING002
  246.         Case 3
  247.             Print Chr(13)
  248.             Forward BYTE004 - 1
  249.             Print STRING003
  250.         Case 4
  251.             Print Chr(13)
  252.             Forward BYTE005 - 1
  253.             Print STRING004
  254.         Case 5
  255.             Print Chr(13)
  256.             Forward BYTE006 - 1
  257.             Print STRING005
  258.         Case 6
  259.             Print Chr(13)
  260.             Forward BYTE007 - 1
  261.             Print STRING006
  262.         Case 7
  263.             Print Chr(13)
  264.             Forward BYTE008 - 1
  265.             Print STRING007
  266.     End Select
  267.     Return
  268.     :LABEL008
  269.     STRING015 = ReadLine(PPEPath() + "550.CFG", 2)
  270.     STRING001 = ReadLine(PPEPath() + "550.CFG", 3)
  271.     STRING002 = ReadLine(PPEPath() + "550.CFG", 4)
  272.     STRING003 = ReadLine(PPEPath() + "550.CFG", 5)
  273.     STRING004 = ReadLine(PPEPath() + "550.CFG", 6)
  274.     STRING005 = ReadLine(PPEPath() + "550.CFG", 7)
  275.     STRING006 = ReadLine(PPEPath() + "550.CFG", 8)
  276.     STRING007 = ReadLine(PPEPath() + "550.CFG", 9)
  277.     STRING008 = ReadLine(PPEPath() + "550.CFG", 10)
  278.     STRING009 = ReadLine(PPEPath() + "550.CFG", 11)
  279.     STRING010 = ReadLine(PPEPath() + "550.CFG", 12)
  280.     STRING011 = ReadLine(PPEPath() + "550.CFG", 13)
  281.     STRING012 = ReadLine(PPEPath() + "550.CFG", 14)
  282.     STRING013 = ReadLine(PPEPath() + "550.CFG", 15)
  283.     STRING014 = ReadLine(PPEPath() + "550.CFG", 16)
  284.     Return
  285.  
  286. ;------------------------------------------------------------------------------
  287. ;
  288. ; Usage report (before postprocessing)
  289. ;
  290. ; ■ Statements used :
  291. ;
  292. ;    7       End
  293. ;    68      Goto 
  294. ;    43      Let 
  295. ;    36      Print 
  296. ;    1       PrintLn 
  297. ;    38      If 
  298. ;    1       DispFile 
  299. ;    33      Gosub 
  300. ;    7       Return
  301. ;    1       Delay 
  302. ;    1       Inc 
  303. ;    1       Dec 
  304. ;    6       Newline
  305. ;    6       KbdStuff 
  306. ;    2       Call 
  307. ;    14      Forward 
  308. ;
  309. ;
  310. ; ■ Functions used :
  311. ;
  312. ;    24      +
  313. ;    14      -
  314. ;    42      ==
  315. ;    1       <
  316. ;    1       >
  317. ;    36      !
  318. ;    9       ||
  319. ;    15      Chr()
  320. ;    1       Asc()
  321. ;    1       Inkey()
  322. ;    18      PPEPath()
  323. ;    16      ReadLine()
  324. ;    3       Exist()
  325. ;    7       GetX()
  326. ;    1       GetY()
  327. ;
  328. ;------------------------------------------------------------------------------
  329. ;
  330. ; Analysis flags : C
  331. ;
  332. ; C - Call child PPE ■ 3
  333. ;     This is usually normal, but may be a tricky way to launch some
  334. ;     sysop-only commands.
  335. ;     ■ Search for : CALL
  336. ;
  337. ;------------------------------------------------------------------------------
  338. ;
  339. ; Postprocessing report
  340. ;
  341. ;    0       For/Next
  342. ;    1       While/EndWhile
  343. ;    14      If/Then or If/Then/Else
  344. ;    3       Select Case
  345. ;
  346. ;------------------------------------------------------------------------------
  347. ;                 AEGiS Corp - Break the routines, code against the machines!
  348. ;------------------------------------------------------------------------------
  349.